package com.simple.core.controller;

import com.simple.core.dto.PageDto;
import com.simple.core.dto.Response;

import java.io.Serializable;
import java.util.List;

/**
 * Web接口
 *
 * @author FanXing
 * @date 2022年11月17日 9:13
 */
public interface IController<T> {

    /**
     * 分页查询
     *
     * @param t
     * @param pageDto
     * @return
     */
    Response<PageDto<T>> page(T t, PageDto<T> pageDto);

    /**
     * Feed流查询
     *
     * @param t
     * @param pageDto
     * @return
     */
    Response<PageDto<T>> slice(T t, PageDto<T> pageDto);

    /**
     * 详情
     *
     * @param id
     * @return
     */
    Response<T> get(Serializable id);

    /**
     * 新增
     *
     * @param t
     * @return
     */
    Response<Boolean> add(T t);

    /**
     * 更新
     *
     * @param t
     * @return
     */
    Response<Boolean> update(T t);

    /**
     * 删除
     *
     * @param ids
     * @return
     */
    Response<Boolean> delete(List<Serializable> ids);

}
